Para las distribuciones se usan los paquetes:
La distribución de Benford o también conocida como la Ley de Benford o Ley del primer dígito, que asegura que en los números que existen en la vida real, la primera cifra que se espera que se repita con más frecuencia es el 1.
Se puede utilizar para la detección de fraude en contabilidad y el diseño de computadores.
A continuación se cita un paper que trata sobre detección de fraude en una cadena de suministro:
“The careful application of Benford analysis leads to identify abnormally mismatch data and in depth analysis of those data helps those agencies to perform their task more effectively, efficiently and economically within a short span of time to detect and prevent fraudulent transactions.”(Varma, Dr. T. N. y Varma, Dr. T. N. y Khan, DA, Fraud Detection in Supply Chain Using Benford Distribution, agosto 1, 2012)
Para las funciones:
se identifican los parámetros:
numeros = 0:15
distribucion = dbenf(numeros)
datos = data.frame(numeros, distribucion)
grafico = ggplot(data=datos,aes(x=numeros,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="navajowhite",color="orange3", linewidth = 0.1)
grafico = grafico + theme_bw() + ggtitle("Distribución de probabilidades - Benford")
grafico = grafico + xlab("Número") + ylab("Probabilidad")
ggplotly(grafico)
distribucion = pbenf(numeros)
datos = data.frame(numeros, distribucion)
grafico = ggplot(data=datos,aes(x=numeros,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="navajowhite",color="orange3", linewidth = 0.1)
grafico = grafico + theme_bw() + ggtitle("Distribución de probabilidades acumuladas - Benford")
grafico = grafico + xlab("Número") + ylab("Probabilidad acumulada")
ggplotly(grafico)
set.seed(323)
distribucion = rbenf(10)
hist(distribucion, breaks = 10, main = 'Histograma de 10 datos')
set.seed(323)
distribucion = rbenf(100)
hist(distribucion, breaks = 10, main = 'Histograma de 100 datos')
set.seed(323)
distribucion = rbenf(1000)
hist(distribucion, breaks = 10, main = 'Histograma de 1000 datos')
Se puede ver que a una cantidad pequeña de datos la dispersión de la distribución es muy grande si se compara con la función de densidad, pero a medida que se aumenta la cantidad de datos, se ve una distribución similar a la de densidad.
La distribución Sichel es el resultado de usar la distribución Inversa Gaussiana Generalizada como distribución de mezcla de para el parámetro de Poisson.
Se puede usar en áreas como ingeniería en minas, psicología industrial, ecología y estudios de mercado.
A continuación se cita un paper que estudia las matemáticas aplicadas y computación:
“…The generalized hyperbolic distribution was introduced by [2] and its applications to finance can be found in [7,4], and [5] for example. Also, GIG distribution has been used as a mixing distribution in a mixed Poisson distribution (Sichel’s distribution in [28]) to model overdispersed count data (e.g. [26,27]) and in a gamma distribution to fit the total economic damage caused by hurricanes ([10]). However, [15] mentioned that there is a limitation to use of the GIG in some cases since a simple expression for its survivor function is not available…” (Willmot G. y Woo J., octubre 2022, Volumen 430)
Para las funciones:
Se identifican los parámetros:
numeros = 0:20
distribucion = dSICHEL(numeros)
datos = data.frame(numeros, distribucion)
grafico = ggplot(data=datos,aes(x=numeros,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="navajowhite",color="orange3", linewidth = 0.1)
grafico = grafico + theme_bw() + ggtitle("Distribución de probabilidades - SICHEL")
grafico = grafico + xlab("Número") + ylab("Probabilidad")
ggplotly(grafico)
distribucion = pSICHEL(numeros)
datos = data.frame(numeros, distribucion)
grafico = ggplot(data=datos,aes(x=numeros,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="navajowhite",color="orange3", linewidth = 0.1)
grafico = grafico + theme_bw() + ggtitle("Distribución de probabilidades acumuladas - SICHEL")
grafico = grafico + xlab("Número") + ylab("Probabilidad acumulada")
ggplotly(grafico)
set.seed(111)
distribucion = rSICHEL(10)
hist(distribucion, breaks = 10, main = 'Histograma de 10 datos')
set.seed(111)
distribucion = rSICHEL(100)
hist(distribucion, breaks = 10, main = 'Histograma de 100 datos')
set.seed(111)
distribucion = rSICHEL(1000)
hist(distribucion, breaks = 10, main = 'Histograma de 1000 datos')
De los histogramas se puede observar que hay un gran aumento en la probabilidad del número 1 y una gran disminución de su probabilidad en comparación a la función de densidad, y que a menor cantidad de datos el parentesco a la función densidad es casi nula.
La distribución Logaritmica un derivado de la expansión de la serie de Maclaurin.
Es usada para modelar la frecuencia de reclamos, como por ejemplo el numero de cosas compradas por un consumidor en un periodo de tiempo, tambien se ocupa en microbiologia para modelar el numero de organismos en una colonia.
A continuación se cita un articulo en el que se ocupa esta distribución para un estudio de particulas coloidales:
“In a recent series of papers from this laboratory, the particle size distribution of a variety of colloids has been determined by comparison of the polarization of the scattered light with theoretical calculations. These calculations assumed that the particle sizes could be represented by a two-parameter distribution which we had called a logarithmic normal distribution.” (J. Phys. Chem. 1964, 68, 11, 3093)
Para las funciones:
y sus parámetros son:
numeros = 0:10
distribucion = dlogarithmic(numeros, 0.6)
datos = data.frame(numeros, distribucion)
grafico = ggplot(data=datos,aes(x=numeros,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="navajowhite",color="orange3", linewidth = 0.1)
grafico = grafico + theme_bw() + ggtitle("Distribución de probabilidades - Logarítmica")
grafico = grafico + xlab("Número") + ylab("Probabilidad")
ggplotly(grafico)
distribucion = plogarithmic(numeros, 0.6)
datos = data.frame(numeros, distribucion)
grafico = ggplot(data=datos,aes(x=numeros,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="navajowhite",color="orange3", linewidth = 0.1)
grafico = grafico + theme_bw() + ggtitle("Distribución de probabilidades acumuladas - Logarítmica")
grafico = grafico + xlab("Número") + ylab("Probabilidad acumulada")
ggplotly(grafico)
set.seed(222)
distribucion = rlogarithmic(10, 0.6)
hist(distribucion, breaks = 10, main = 'Histograma de 10 datos')
set.seed(222)
distribucion = rlogarithmic(100, 0.6)
hist(distribucion, breaks = 10, main = 'Histograma de 100 datos')
set.seed(222)
distribucion = rlogarithmic(1000, 0.6)
hist(distribucion, breaks = 10, main = 'Histograma de 1000 datos')
De los histogramas se puede observar que hay un gran aumento en la probabilidad del número 1 y una gran disminución de su probabilidad en comparación a la función de densidad, y que a menor cantidad de datos el parentesco a la función densidad es casi nula.
Paper distribución Benford, https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3150290
Paper distribución Sichel, https://www.sciencedirect.com/science/article/abs/pii/S0096300322003769
Paper distribución Logarítmica, https://pubs.acs.org/doi/pdf/10.1021/j100793a002